package demo1;

class Base {
    public int a = 10;
    public int b;
    //重载不一定要在同一个类中
    //和下面的methodB构成了方法的重载
    public void methodB() {
        System.out.println("methodB");
    }
}

//如果访问的成员变量与父类中成员变量同名，则优先访问自己的
//访问的成员变量与父类中成员变量同名，且非要访问父类的成员变量则使用super.成员变量名
//super必须在子类房中使用，这样才能调用父类当中的属性或方法
//super代表从父类继承过来的引用，super不是代表父类对象的引用，super就是一个简单的关键字，增加了代码的可读性！
//super第一个作用：1.通过super.data来访问父类的成员变量；2.super.方法来访问父类中的方法；3.super() 调用父类的构造方法
//super只能在非静态方法中使用



class Derived extends Base {
    public int a = 199;
    public void method() {
        System.out.println(a);
        System.out.println(super.a);
        System.out.println(b);
        System.out.println("methodD");
    }
    //和上面的methodB构成了方法的重载
    public void methodB(char c) {
        System.out.println("methodB char c");
    }
}
public class TestDemo2 {
    public static void main(String[] args) {
        Derived derived = new Derived();
        derived.methodB();
    }
}
